Implementing SIGTRAN for Linux Fast-STREAMS Design for Linux

نویسنده

  • Brian F. G. Bidulock
چکیده

1 Background UNIX networking has a rich history. The TCP/IP protocol suite was first implemented by BBN using Sockets under a DARPA research project on 4.1aBSD and then incorporated by the CSRG into 4.2BSD [? ]. Lachmann and Associates (Legent) subsequently implemented one of the first TCP/IP protocol suite based on the Transport Layer Interface (TLI) [? ] and STREAMS [? ]. Two other predominant TCP/IP implementations on STREAMS surfaced at about the same time: Wollongong and Mentat. 1.1 STREAMS STREAMS is a facility first presented in a paper by Dennis M. Ritchie in 1984 [? ], originally implemented on 4.1BSD and later part of the Bell Laboratories Eighth Edition UNIX, incorporated into UNIX System V Release 3 and enhanced in UNIX System V Release 4 and further in UNIX System V Release 4.2. STREAMS was used in SVR4 for terminal input-output, pseudo-terminals, pipes, named pipes (FIFOs), interprocess communication and networking. STREAMS was used in SVR3 for networking (in the NSU package). Since its release in System V Release 3, STREAMS has been implemented across a wide range of UNIX, UNIX-like and UNIX-based systems, making its implementation and use an ipso facto standard. STREAMS is a facility that allows for a reconfigurable full duplex communications path, Stream, between a user process and a driver in the kernel. Kernel protocol modules can be pushed onto and popped from the Stream between the user process and driver. The Stream can be reconfigured in this way by a user process. The user process, neighbouring protocol modules and the driver communicate with each other using a message passing scheme. This permits a loose coupling between protocol modules, drivers and user processes, allowing a third-party and loadable kernel module approach to be taken toward the provisioning of protocol modules on platforms supporting STREAMS. On UNIX System V Release 4.2, STREAMS was used for terminal input-output, pipes, FIFOs (named pipes), and network communications. Modern UNIX, UNIX-like and UNIX-based systems providing STREAMS normally support some degree of network communications using STREAMS; however, many do not support STREAMSbased pipe and FIFOs or terminal input-output without system reconfiguration. UNIX System V Release 4.2 supported four Application Programming Interfaces (APIs) for accessing the network communications facilities of the kernel: Transport Layer Interface (TLI). TLI is an acronym for the Transport Layer Interface [? ]. The TLI was the nonstandard interface provided by SVR3 and SVR4, later standardized by X/Open as the XTI described below. This interface operated differently than the XTI in subtle ways, and is now deprecated. X/Open Transport Interface (XTI). XTI is an acronym for the X/Open Transport Interface [? ]. The X/Open Transport Interface is a standardization of the UNIX System V Release 4, Transport Layer Interface. The interface consists of an Application Programming Interface implemented as a shared object library. The shared object library communicates with a transport provider Stream using a service primitive interface called the Transport Provider Interface[? ]. While XTI was implemented directly over STREAMS devices supporting the Transport Provider Interface (TPI) [? ] under SVR4, several non-traditional approaches exist in implementation: Berkeley Sockets. Sockets uses the BSD interface that was developed by BBN for the TCP/IP protocol suite under DARPA contract on 4.1aBSD and released in 4.2BSD. BSD Sockets provides a set of primary API functions that are typically implemented as system calls. The BSD Sockets interface is non-standard, operated differently from the POSIX interface in subtle ways, and is now deprecated in favour of the POSIX/SUS standard Sockets interface. POSIX Sockets. Sockets were standardized by X/Open, later the OpenGroup, and IEEE in the POSIX standardization process. They appear in XNS 5.2 [? ], SUSv1 [? ], SUSv2 [? ] and SUSv3 [? ]. POSIX/SUS Sockets is now the common application environment for accessing networking, deprecating the XTI for TCP/IP networking applications. ∗[email protected] 1. AIX, for example. 2. HP-UX, for example. 3. http://www.opengroup.org/

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing POSIX Sockets for Linux Fast-STREAMS Design for Linux

UNIX networking has a rich history. The TCP/IP protocol suite was first implemented by BBN using Sockets under a DARPA research project on 4.1aBSD and then incorporated by the CSRG into 4.2BSD [? ]. Lachmann and Associates (Legent) subsequently implemented one of the first TCP/IP protocol suite based on the Transport Layer Interface (TLI) [? ] and STREAMS [? ]. Two other predominant TCP/IP impl...

متن کامل

STREAMS vs. Sockets Performance Comparison for UDP

With the objective of contrasting performance between STREAMS and legacy approaches to system facilities, a comparison is made between the tested performance of the Linux Native Sockets UDP implementation and STREAMS TPI UDP and XTIoS UDP implementations using the Linux Fast-STREAMS package [? ].

متن کامل

STREAMS vs. Sockets Performance Comparison for SCTP

With the objective of contrasting performance between STREAMS and legacy approaches to system facilities, a comparison is made between the tested performance of the Linux Native Sockets TCP implementation and STREAMS TPI SCTP and XTIoS TCP implementations using the Linux Fast-STREAMS package [? ].

متن کامل

The ARM Fast Context Switch Extension for Linux

The ARMv5 CPUs are inexpensive, low power, 32 bit processors widely used in embedded systems. Because of these processors’ cache implementation, using memory protection on these systems incurs a performance penalty too large for many real time applications. By implementing the Fast Context Switch Extension, we achieved improved cache performance while retaining memory protection under the Linux...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007